using MediatR;
using TerritoryGame.Domain.ValueObjects;

namespace TerritoryGame.Application.Commands;

public record CreateGameCommand : IRequest<CreateGameResult>
{
    public required GameName Name { get; init; }
    public required int MaxPlayers { get; init; }
    public required GameDuration Duration { get; init; }
    public required PlayerNickname OwnerNickname { get; init; }
    public string? Password { get; init; }
}

public record CreateGameResult
{
    public required GameId GameId { get; init; }
    public required string RoomCode { get; init; }
}
